]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
overview: Don't claim to be SHOWN when HIDDEN during startup animation
authorSebastian Keller <skeller@gnome.org>
Wed, 1 Mar 2023 20:43:15 +0000 (21:43 +0100)
committerMarge Bot <marge-bot@gnome.org>
Thu, 2 Mar 2023 00:08:09 +0000 (00:08 +0000)
When the overview gets hidden during the startup animation, the callback
would still change the state to SHOWN, despite the overview not being
shown.

This can happen for example if a `monitors-changed` signal triggers a
relayout during startup.

See: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2514#note_1683525
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2667>

js/ui/overview.js

index 4dd59d4ae2bf8c7610a3a57c4b74d99e849a2c76..22bd4c4f5a5e3608de77301cd086208bcd46e663 100644 (file)
@@ -683,6 +683,12 @@ var Overview = class extends Signals.EventEmitter {
         this._changeShownState(OverviewShownState.SHOWING);
 
         this._overview.runStartupAnimation(() => {
+            // Overview got hidden during startup animation
+            if (this._shownState !== OverviewShownState.SHOWING) {
+                callback();
+                return;
+            }
+
             if (!this._syncGrab()) {
                 callback();
                 return;